﻿using System;
using Microsoft.Xna.Framework;

namespace Metropolitics.Game_Objects
{
    class GameObject
    {
        #region Members

        private string name;
        private Vector2 dimensions;
        private Vector2 position;
        private float bearing;
        private float currspeed;
        private float curracceleration;
        private float maxspeed;

        #endregion

        #region Properties

        public string Name
        {
            get
            {
                return name;
            }
            set
            {
                name = value;
            }
        }

        public Vector2 Dimensions
        {
            get
            {
                return dimensions;
            }
            set
            {
                dimensions = value;
            }
        }

        public Vector2 Position
        {
            get
            {
                return position;
            }
            set
            {
                position = value;
            }
        }

        public float Bearing
        {
            get
            {
                return bearing;
            }
            set
            {
                bearing = value;
            }
        }

        public float CurrSpeed
        {
            get
            {
                return currspeed;
            }
            set
            {
                currspeed = value;
            }
        }

        public float CurrAcceleration
        {
            get
            {
                return curracceleration;
            }
            set
            {
                curracceleration = value;
            }
        }

        public float MaxSpeed
        {
            get
            {
                return maxspeed;
            }
            set
            {
                maxspeed = value;
            }
        }

        #endregion

        #region Functions

        public GameObject(string _name, float _x, float _y, float _width, float _height, float _maxspeed)
        {
            name = _name;
            position.X = _x;
            position.Y = _y;
            dimensions.X = _width;
            dimensions.Y = _height;
            bearing = 0.0f;
            currspeed = 0.0f;
            curracceleration = 0.0f;
            maxspeed = _maxspeed;
        }

        public void Accelerate(float _increment)
        {
            curracceleration += _increment;
        }

        public void Deccelerate(float _decrement)
        {
            
        }

        #endregion

    }
}
